package com.forum.message.model.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 消息数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MessageDTO {
    
    /**
     * 消息ID
     */
    private Long id;
    
    /**
     * 消息类型
     */
    private String type;
    
    /**
     * 消息内容
     */
    private String content;
    
    /**
     * 发送者ID
     */
    private Long senderId;
    
    /**
     * 发送者用户名
     */
    private String senderName;
    
    /**
     * 发送者头像
     */
    private String senderAvatar;
    
    /**
     * 接收者ID
     */
    private Long receiverId;
    
    /**
     * 关联资源ID
     */
    private Long resourceId;
    
    /**
     * 关联资源类型
     */
    private String resourceType;
    
    /**
     * 是否已读
     */
    private Boolean isRead;
    
    /**
     * 消息创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdTime;
    
    /**
     * 消息阅读时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime readTime;
    
    /**
     * 消息链接
     */
    private String link;
} 